Мне непонятно, почему он пишет в корень-то, когда в переменной другой путь.
А вызов программы выдаёт такое:
Код:

InvalidOperation:
Line |
2 | & "$prog" ".\$($_.name)" "$($_.basename)" -arg value
| ~~~~~~~~~~~~
| The expression after '&' in a pipeline element produced an object that was not valid. It must result in a command name, a script block, or a CommandInfo object.