Este é um bug em versões mais antigas do bash, especificamente 4.0 β2 patchlevel d para 4.0 patchlevel m. A partir do changelog de 4.0 para 4.1 α:
n. Fixed the behavior of
set -u
to conform to the latest Posix interpretation: every expansion of an unset variable except $@ and $* will cause the shell to exit.
Esse comportamento foi introduzido no 4.0β2 porque o comportamento anterior (e agora novamente atual) foi considerado como bugs:
d. Fixed a bug that caused expansions of $@ and $* to not exit the shell if the -u option was enabled and there were no posititional parameters.