The asker mentions LaunchAgents a couple of times and @klanomath's answer is correct: in this case a LaunchDaemon is probably the appropriate approach.
However for Googlers that are trying to give a LaunchAgent
elevated sudo/root privileges, I recommend checking out or this answer on this question about LaunchAgents.
It describes a method of having selectively elevated privileges for the user and command you're running, allowing launchctl
to run sudo
without an interactive password prompt.