in reply to Passing arguments

First, bypass any shell interpolatation to keep your array elements separate in transit:
system('perl', 'script2.pl', @theArray);
Then, your second script can just use @ARGV:
@ReceivedArray = @ARGV;

The PerlMonk tr/// Advocate