array=(foo, bar, baz)
echo ${array[@]} # => foo, bar, baz
array=("${array[@]:1}")
echo ${array[@]} # => bar, baz
array=("${array[@]:1}")
echo ${array[@]} # => baz
zsh-array-shift.sh
array=(foo, bar, baz)
echo $array # => foo, bar, baz
array=("${(@)array:1}")
echo $array # => bar, baz
array=("${(@)array:1}")
echo $array # => baz
# UPDATE: this works as well and is less confusing syntax
array=(${array:1})