全スクリプトを{ ...;exit;}というとヤバいように見えるけど

... #オプション解析とか
main(){ ...;}
{ main "$@"; exit;}

とでもすれば多くの更新事故は防げると思う