Este post explica como criar um array de um tipo via reflection, como populá-lo e como realizar invoke de um método com argumento sendo um array do tipo.
Criando o array:
int tam = 1; // tamanho do array
Object arr = Array.newInstance(Class.forName("nome da classe"), tam);
Populando o array:
Array.set(arr, posicao, valor);
Invoking:
Method method = classe.getClass().getMethod("nome do método", new Class[] {arr.getClass()});
method.invoke(classe, new Object[]{arr});