direi che $array1 viene passato come stringa '$array1' e non il suo contenuto.

in pratica se stampi con print_r il primo array ti deve far vedere anche l'array annidato. Pensavo che volevi vedere solo il secondo array....

Prova a postare come trasferisci array1 in array2.

dovrebbe essere qualcosa di simile (senza virgolette su array1):

$array2[] = $array1;