Meine Variante wäre diese, auch wenn das mit Sicherheit noch verbesserungsfähig ist (aber unter den gegebenen Bedingungen wohl brauchbar):
Delphi-Quellcode:
const cZiel = 'c:\hdh';
Prog := IncludeTrailingPathDelimiter(cZiel) + Copy(Form1.Programm,1,4);
Ziel := IncludeTrailingPathDelimiter(cZiel) + 'Transfer\';
ShellExecute(0, nil, 'cmd.exe', Format('/k copy "%s" "%s"', Prog, Ziel), nil, SW_SHOW);
Grüße
Dalai