Bash: iteration through array names
===

I am trying to write code to break up a large array into many different small arrays. Eventually the array I would be passed is one of unknown size, this is just my test subject. I have gotten this far: 

    #!/bin/bash
    num=(10 3 12 3 4 4)
    inArray=${#num[@]}
    numArrays=$(($inArray/2))
    remain=$(($inArray%2))
    echo $numArrays
    echo $remain
    nun=0
    if test $remain -gt  $nun; then
            numArrays=$(($numArrays+1))
    fi
    i=0
    array=(1 2)
    j=0
    for ((i=0;i<$numArrays;i++, j=j+2)); do
            array=("${num[@]:$j:2}")
            echo "The array says: ${array[@]}"
            echo "The size? ${#array[@]}"
    done    


What I am really having a problem with is : I would like to make the variable 'array' be able to change names slightly every time, so each array is kept and has a unique name after the loop. I have tried making the name `array_$i` but that returns: 

    [Stephanie@RDT00069 ~]$ ./tmp.sh 
    3
    0
    ./tmp.sh: line 16: syntax error near unexpected token `"${num[@]:$j:2}"'
    ./tmp.sh: line 16: `	array_$i=("${num[@]:$j:2}")'
    [Stephanie@RDT00069 ~]$ ./tmp.sh 
    3
    0
    ./tmp.sh: line 16: syntax error near unexpected token `$i'
    ./tmp.sh: line 16: `	array($i)=("${num[@]:$j:2}")'

Does anyone have any advice? 
Thanks