月に一度、メールログを調べたいのですが、
下記スクリプトを毎月1日朝に走らせています。

---
#!/bin/sh
pre_month_days=`date -d '1 days ago' +%d`
zcat /var/log/maillog.{1..$pre_month_days}.gz | 引き渡し先プログラム
---

これをシェルで走らせると
zcat: /var/log/maillog.{1..29}.gz: No such file or directory
となります。

ですが、
#zcat /var/log/maillog.{1..29}.gz
と手打ちすると、ズシャーっとログが表示されます、エラーも最後まで出ません。

変数展開されていないならまだしも、まったく原因がわかりません。
どういう理由で「No such file or directory」が出るのでしょうか?