Sim, mas também não. É um tipo diferente de divisão.
$@ refere-se a uma matriz; Bash também permite que variáveis regulares sejam arrays e suporta expansões como ${var[*]} ou ${var[@]} . Este último também expande para todos os valores de $ var como palavras separadas.
No entanto, se a expansão estiver entre aspas duplas, então cada valor individual ainda se comporta como se fosse citado - ou seja, a divisão de palavras não acontece. Portanto, não há exceção em que regard - $@ vs "$@" ainda seja igual a $foo vs "$foo" .
Demo
$ var=("Item 1" "Item 2 has spaces" "Item 3? Item 3.")
$ declare -p var
declare -a var=([0]="Item 1" [1]="Item 2 has spaces" [2]="Item 3? Item 3.")
$ args "${var[*]}"
argc = 2
argv[0] = args
argv[1] = Item 1 Item 2 has spaces Item 3? Item 3.
$ args "${var[@]}"
argc = 4
argv[0] = args
argv[1] = Item 1
argv[2] = Item 2 has spaces
argv[3] = Item 3? Item 3.
$ args ${var[@]}
argc = 11
argv[0] = args
argv[1] = Item
argv[2] = 1
argv[3] = Item
argv[4] = 2
argv[5] = has
...