結局、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