It should run as snmp.
SHOULD.
Test this by using
su - snmp
and then running the script.
If it moans about no password for user snmp you can create one with
sudo passwd snmp
Essentially you want to login as snmp user and test everything.
root can do anything, which is as good a reason as any to *not* use root permissions - and making a su-able script is not so easy.
What you should do is ensure that user snmp is the user in play and that the script will work with that user.
That is the accepted clean way to do things.
Daemons run with either root or user permissions - snmpd is apparently running with snmp user permissions. Be aware that it may not be running with the same *environment* set, as user snmp would. I.e it is common and good practice to not aussume that PATH is set , and so any scripts that invoke binaries should do so explicitly quoting the whole path as in e.g. /usr/bin/echo etc. etc. or set PATH within the script.