Selbst in Windows muß eine EXE nicht EXE heißen.
Nur gibt es für andere Dateiendungen standardmäßig selten Verknüpfungen im Windows, damit es diese auch starten kann. (Windows weiß ja nicht, daß es eine
PE ist, da nicht
im Fileheader nachgeschaut wird).
Man kann auch eine EXE und
DLL kombinieren, also alleine lauffähig und/oder als
DLL ladbar. Die EXE kann sogar eigene exportierte Funktionen von sich selber dynamisch laden.