Ну, .sh в конце по нонешним временам - эт лишнее, без него можно и нужно.
В шапке скрипта, надеюсь:
#!/bin/bash
присуйтствует?
А также, ты его, надеюсь, исполняемым сделал:
sudo chmod o+x /путь_к_срипту/main
???
И, из консоли его, если ты в сессии пользователя, чтобы он от рута запускался, апосля всех условий выше, надо через sudo запускать:
sudo ./main
А про автозагрузку тебе парни уже всё написали...
Systemd, Supervisor, Cron (crontab) - что душе угодно...