O problema no Linux é que muitos scripts precisam de recursos bash não portáteis, mas não sinalizam isso em seus #! linha.
Existem outros problemas semelhantes, por ex. scripts que chamam "awk" em vez de "gawk", mas dependem dos recursos do gawk.
Existem scripts que chamam utilitários usando GNUisms como opções longas não portáteis.
Algumas pessoas chamam isso de "dependência de fornecedor" do Linux. A razão pela qual isso acontece é provavelmente a documentação do Linux. As páginas do manual do Linux não mencionam "recursos" não portáteis e não incentivam as pessoas a usar apenas as opções portáteis.
Voltar para o shell. Usar a concha de herança não é uma boa idéia, pois não é realmente portátil. O fato de ainda usar sbrk () para alocar memória em vez de malloc () causa vários problemas em várias plataformas. Pode haver problemas ocultos relacionados a esse fato em algumas distribuições do Linux. Por exemplo não funciona no Cygwin por este motivo. A concha de herança não corrigiu nenhum dos bugs conhecidos da shell SVr4 e isso parece ser causado pelo fato de que o desenvolvimento parou depois de meio ano.
Se o shell de herança fosse portátil, ele poderia ser usado como uma ferramenta de teste para verificação de scripts manuais - para scripts que precisam ser executados em qualquer lugar. Para uso diário, a concha de herança não é a decisão certa.
BTW: se você gosta de uma versão portátil do shell Svr4 Bourne para fins de teste, eu recomendo o Bourne Shell compilado como "osh" no Schily-toolset. Se você gosta de usar um Bourne Shell para uso diário, eu encorajo as pessoas a conferir o Bourne Shell "bosh" do Schily Toolset. Inclui o primeiro editor de histórico e, portanto, não fará com que você grite o tempo todo que estiver tentando usá-lo.