One of the biggest issues running multiple copies of the same program is dealing with saving variables and "restarting where you left off".

For example if you start a single copy of the program and it loads variable X, and the user modifies variable X and saves its value for the next time you start the program, all is well. However, if you start multiple copies which are also going to utilize variable X -- the value of value X will be either the original X value or some modified X value that the user saved prior to the second copy being started.

If this is not an issue with your program, ignore the above, if it is and you find a "good" solution, I'd also like to know.