String  argCopy = new String;
I agrre with you Gokul. In above declaration argCopy is an array object that contains array of String. Now argCopy[i] contains reference of some array of String. Here according to declaration it is containing references to two arrays of length 2.
x = args.length;
argCopy[y] = args[y];
System.out.println(" " + argCopy[y]);
Here the program will work if length of array args is 2 or less than 2, but, if length of array args is greater than 2 then ArrayIndexOutOfBoundsException exception will occur.
If there is any mistake please correct me.