Modern shells tend to understand that if $# is zero, "$@"
(in quotes) should evaporate entirely. But the first Bourne
shell I used would make "$@" an empty string when $# was zero.
Thus the need for ${1+"$@"}.
Bleh.
-- Chip Salzenberg, Free-Floating Agent of Chaos