I am assuming you are on some kind of UNIX here, I am not sure how Windows handles this side of things.
Agreeing with others, if you can use sudo, this is what I would recommend.
If the script is running as root you can change your UID and or EUID. There are special variables $< and $> that hold them. This is dangerous, so you need to give a lot of thought to security, but I have run into an odd case where I have found this useful.