Allora, tocca capire il problema.

Primo, l'Arraylist iniziale contiene una lista di percorsi o una lista che unita in una stringa compone il percorso?

Ipotesi, la lista contiene tanti elementi che compongono il percorso.

Soluzione 1.

Scommetto che è passata a riga di comando, i percorsi con spazio passati a riga di comando vanno passati fra doppio apice, es. "C:\Programs Fiels\Pippo.txt"

In questo modo non si porrà più il problema.


Soluzione 2.

Tu sei arrivato fino a questo punto:

string[] pathFinale = (string[])path.ToArray(typeof(string));

Il passo successivo è

string pathFinale2 = String.Join("", pathFinale);

Ovviamente puoi mettere come primo argomento quello che vuoi.

Ciao