Per forza!
L'array lista2 non ha elementi, quindi non è sufficientemente grande per poter contenere l'altro array.
Devi inizializzare lista2 solo dopo che lista è stato valorizzato:
codice:
String padre=new File(System.getProperty("user.dir")).getParent();
File myDir= new File(padre, File.separator +"IMMAGINI");
File [] lista=myDir.listFiles();
String [] lista2=new String[ lista.length ];

if (lista != null) 
{

   for (int i = 0; i < lista.length; i++) 
   {
      lista2[i]=lista[i].getName();
      System.out.println("Ho appena copiato nell'array il file "+lista[i].getName());
   }
}
Ciao.