Wydaje mi się, że zadziała - ale wydaje mi się też, że obie zmienne zajmą tyle pamięci, ile łącznie mają te dwa pliki. A tu już się możesz rozbić o limity.
A może spróbować (pisane z ręki):
$file1="plik1.dat";
$file2="plik2.dat";
$output="razem.dat";
system ("cp ". $file1 . " " . $output); system ("cat " . $file2 . " >> " . $output); // dopisuje do pliku $output plik "$file2 - uwaga na " >> "!!!