fork/
exec would be a good model to follow on *NIX, but on Windows
fork creates a new thread, not a new process.
I guess TCL is incompatible with Perl, but, depending on the complexity, it might be easy to read the TCL and figure out environment settings in Perl before launching the main TCL script as a child process (using
system).
Or you could rewrite the setup script to use Perl then call it using
do.
Failing that, why can't the main TCL script read the TCL environment file setup?