shell 编程 请问以下代码的第14行哪里有问题,如何修改?

问题描述
有n个人(每个人有一个唯一的编号,用1~n之间的整数表示)在一个水龙头前排队准备接水,现在第n个人有特殊情况,经过协商,允许他插队到第x个位置。输出第n个人插队后的排队情况。
输入
7
7 2 3 4 5 6 1
3
输出
7 2 1 3 4 5 6

代码如下:
1 #!/bin/bash
2 read n
3 for ((i=1; i<=$[${n}-1]; i++));
4 do
5 read -d " " num
6 arr[$i]=${num}
7 done
8 read last
9 arr[$n]=${last}
10 read x
11 arr[0]=${arr[$n]}
12 for ((j=$[${n}-1]; j>=${x}; j--));
13 do
14 arr[$[${j}+1]] = ${arr[$j]}
15 done

~

问题:arr[7] : command not found

把=两边的空格去掉


arr[$[${j}+1]] = ${arr[$j]}
改为
arr[$(${j}+1)] = ${arr[$j]}