«Истерические изюминки», иначе исторические причины.
Объяснение JesperE (или справочной страницы Bash) точно соответствует тому, что он делает:
Если $ 1 существует и не является пустой строкой, подставьте список аргументов в кавычках.
Когда-то лет 20 назад или около того некоторые неработающие варианты оболочки Bourne Shell заменяли пустую строку "" на "$ @", если не было аргументов, вместо правильного текущего поведения замены ничего. Вопрос о том, используются ли какие-либо из этих систем, пока остается открытым.
[Хмм: это расширение не будет работать правильно для:
command '' arg2 arg3 ...
В этом контексте правильное обозначение:
${1+"$@"}
Это работает правильно, независимо от того, является ли $ 1 пустым аргументом или нет. Итак, кто-то неправильно запомнил запись, случайно введя ошибку.]