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;