Here's another POSIXism that everybody gets wrong: command lookup for sh; follow this algorithm for executing a command with no slashes, consider what would happen if "echo" is not in your path. Try it out on any shell and see that it just runs the "echo" builtin despite it being required to return 127. Text below taken from: http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3... If the command name matches…
Quoting from your post: "If the command name matches the name of a special built-in utility, that special built-in utility shall be invoked." Let echo be a "special built-in utility", and sh is compliant.
http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3...