The supervisorctl command can be run as a non-root user. All you need to do is give it permission to connect to the supervisord process.
You'll need to configure access in the appropriate server section, so in the [unix_http_server] section, or in the [inet_http_server] section, whichever you are using for your supervisord setup.
If you use the [unix_http_server] setup, you'd add chmod and/or chown directives to control who can access the UNIX domain socket, for example:
[unix_http_server]
chown = youruser
so that youruser can write to that socket, which means supervisorctl can send supervisord commands. You can also add a group:
[unix_http_server]
chown = youruser:yourgroup