I have to write a ping function to run on Linux. The language is C++, so C if fine too.
Searching on the Internet and looking at the source code for the ping
ping
You can make your program a SUID command, granting it effectively root permissions, without granting them to the executing user. For an example and explanation see here.