This question already has an answer here:
- Why are true and false so large? 4 answers
ls -l /bin/true shows it being 27168 bytes in size, whereas a c program that just returns 0 is much smaller. Also, running
objdump -d /bin/true gives a huge assembly program with many system calls. Why is all this needed for a program that just "does nothing successfully"?