in reply to The problem of "the" default shell
Why do you want to run external programs?
Well, I want to use GNU Grep because it's orders of magnitude faster than the Perl version.
I think you sort of just ignore the whole sysadmin use of Perl because it's fine to rely on bashisms when you are root and know that your shell is bash. If you intend to release your code to the world, then yes, portability is a huge issue but not so much when it's a one off script to glue the server together.