getoptどころか、通常のUNIXコマンドの書式とも合わない ddって、
未だに改善される気配すらないよね。

dd if=/dev/zero of=tmpfile bs=1024k count=1024
じゃなくて、
dd -i /dev/zero -o tmpfile -b 1024k -c 1024
の方が、今から設計するなら然るべきと思うんだが。

特に、ファイル名(デバイス名)の左側に = がくっついてるから、
シェルでワイルドカードの展開とかができない。

headのオプションに拘るより、こういうのを改善するべきだ。