Nie je mi celkom jasné, prečo nechceš upravovať práva /etc/hosts, ale je samozrejme aj riešenie okľukou.
Urob si skript, ktorý urobí potrebné úpravy (/var/www/mojskript) a bude bežať pod rootom, teda môže editovať /etc/hosts. Nainštaluj si sudo. Do sudoers pridaj:
www-data localhost = NOPASSWD: /var/www/mojskript
kde www-data je používateľ, pod ktorým beží tvoj webový server (ak používaš mod_php) alebo používateľ, pod ktorým spúšťaš PHP skript.
Bonus: interpreter /var/www/mojskript môže byť kľudne PHP, nemusí to byť shell