Appearance
@ is considered a special variable in bash for expansion. $@ expands to all the positional arguments, starting from one.
@
$@
That is, for a given command:
./shop.sh apple banana
The arguments are:
$0
"./shop.sh"
$1
"apple"
$2
"banana"
And $@ would expand to "apple banana".
"apple banana"
See Special Parameters - Bash Reference Manual