まあ俺は優しいから教えてやろうw

{ echo '#!/bin/sh'; printf '#%100s\n' {1..1000000}; echo sleep 30; echo end; } > scr.sh

これで100MBぐらいのシェルスクリプトができる
これを実行しても3MBぐらいしかメモリは食わない
内部形式は小さいからだ

これを全部メモリに蓄えておくと100MB以上消費する
最初にパースして内部形式にする方式は
後ろにバイナリとかがついている時ににエラーになるから使えない