Я ж говорю, решение это очевидное, но не красивое. Кроме того, как мне кажется, лучше смотреть не на пинг, а на статус сетевого соединения. А активный интерфейс определять из вывода netstat (в какой интерфейс к шлюзу пакеты идут).
Но сеть меняется раз в сутки, а то и реже, а скрипт будет каждые 1-5 минут дергать. Мне казалось, что есть возможность вызывать скрипт по событию.