bashの特殊変数への代入にエラー


以下のsample.shをbashで動かした際に、変数を代入した特殊変数でエラーが吐かれます。  
おそらく文字列として扱われているため、引数を引っ張ってこれていないのだと思いますが、何か対策はありますか。

[code]

    [root@ test]# cat sample.sh
    #!/bin/bash
    
    echo $2
    
    echo ${2}
    
    N=2
    echo ${$N}
    
    [root@ test]# sh sample.sh a b c
    b
    b
    sample.sh: 行 8: ${$N}: 誤った代入です
    
[/code]



[code]

    #!/bin/bash
    
    echo $2
    
    echo ${2}
    
    N=2
    echo ${!N}
    
[/code]

とすることで、

[code]

     % ./sample.sh foo bar
    bar
    bar
    bar
    
[/code]

が実現できます。

