> パイプとか、サブシェルとか、環境変数とか、

これは簡単だろ。

> ジョブコンとか、

とCtrl-Cでシグナル喰った時のシェルの挙動辺りは
ちゃんとPOSIX規格その他を読んでないと難しいものがある。
少なくともマルチプラットーフォームは無理。