Hola.
No entiendo la necesidad de enviar los parámetros al archivo por lotes, yo lo haría directamente a reg2inf. Por ejemplo:
Código Delphi
[-]
procedure LlamarReg2inf(Hnd: THandle; const App:string; const Origen: string; const Destino: string);
begin
ShellExecute(Hnd,
'OPEN',
PChar(ExtractFileName(App)),
Pchar(Origen+' '+Destino),
PChar(ExtractFilePath(App)),
SW_HIDE);
end;
Llamada:
Código Delphi
[-]
LlamarReg2inf(Handle,'C:\REG2INF.EXE','C:\TEMP\OLDNAME.XX','C:\TEMP\NEWNAME.XXX');
Saludos.