Function: rshove

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[@]}\" )"
}