結局、BSD には seq がなくて、Linux には jot がないので、いろんな環境で動かす shell script を書くなら両方使うなってことで結論な気が。bash/zsh が動くことが前提ならこんな感じか。
i=1
while [ $i -le 100 ]; do
n=$(printf '%03d' $i)
foo $n
i=$((i + 1))
done
sh でも動くようにするならこう。
i=1
while [ $i -le 100 ]; do
n=`printf '%03d' $i`
foo $n
i=`expr $i + 1`
done