1) Элементы массива в bash нумеруются с 0
2) Можно сдвинуть значения всех элементов массива влево. Таким образом, для n элементов n-ный будет заменен (n+1)-ым. Он не существует, соответственно, станет пустым. Вот пример:
#!/bin/bash
array=()
array[0]=first
array[1]=second
array[2]=third
array[3]=forth
echo ${array[@]}
for i in $(seq 0 $((${#array}-1)))
do
array[$i]=${array[$((i+1))]}
done
echo ${array[@]}
В таком виде элементы массива, в которых есть пробел, пострадать не должны, как в варианте от
xibir