Все эти слова произошли от однокоренных слов:
шиповник - шип (т. е. растение, у которого есть шипы);
подорожник - по дороге (т. е. растение, которое растет на дороге или около нее);
подсолнечник - под солнцем (т. е. растение, которое тянется к солнцу, вероятно также желтого цвета).