Yes, there is a way.
Found this in a very old wish reference, and it works with the current version of TCL:
The idea is to use exec without the catch. This can be undesired, but if you can live with it, do this:
exec x:\path\program.exe >&@stdout
TCL will wait for the program to exit, and...