Wenn du von C sprichst gehe ich mal davon aus, dass du im PM bist.
Du kannst fertige Standart C Bibliotheken verwenden. Aber auch damit musst du deine Treiber, wie zum Beispiel den Tastaturtreiber trotzdem selbst schreiben. Dafür müssen aber schon gewisse Schnittstellen zum Kernel vorhanden sein. Die Speicherverwaltung muss auf jeden Fall laufen. Damit Funktionen wie malloc Speicherseiten beim Kernel anfordern können (wenn Paging benutzt wird).
Ein shutdown tut in den meisten Fällen nicht mehr, als einen Syscall durchzuführen. Dadurch geschieht das Ganze eh im Kernel.
Es ist aber möglich, wenn du beispielsweise die Linux-API nachbaust, verschiedene Linux-Tools zu verwenden. Aber viel Arbeit wirst du dir damit nicht ersparen. Im gegenteil.