Exec should give you back control. If it didn't we're going to have to brainstorm together and that is quite hard to do with something as vague as "didn't work".
Could you be more precise about what you mean by "didn't work". Didn't work as in "didn't run"? Didn't work as in "didn't get back control"? If you know your script started, how did you know that? What did you see/look for? If you didn't get back control, how did you know that?
At this point, I think it might help if you reduced your code to the smallest possible number of lines that illustrate the problem and then post those lines (preferrably by updating your original post so everyone can see it). How exactly did you make the call to exec? What went before? What came after?
If you are lucky, getting things down to the smallest number of lines that illustrate the problem (and I do mean smallest), might actually tell you why it didn't work. Otherwise, we'll all be in a better position to brainstorm with you.