そもそもposixに対応することと「汎用的に書く」ことは全然別の話。
Solarisの/bin/shのように、posix非対応のシェルが標準シェルになってるし、
posix準拠を基準にしてしまうと、「汎用的」ではなくなってしまう。
だから、posixは忘れるのが吉。