Add element to end of array and remove first element
USAGE: rshove arrayname val
rshove() { local arrayname=${1:?} val=$2 max=$3 array n
Copy the array, $arrayname, to local array
eval "array=( \"\${$arrayname[@]}\" )" n=${#array[@]}
Add $val to end of array
array=( "${array[@]}" "$val" )
Remove first element of array
unset array[0]
Copy array back to $arrayname
eval "$arrayname=( \"\${array[@]}\" )" }