I am attempting to hand-write a Mach-O executable. There are three load commands:
LC_SEGMENT_64 loading __PAGEZEROLC_
Not 100% sure but you will need LC_LOAD_DYLINKER load command to run dyld before your executable, I am pretty certain OSX does not automatically maps to /usr/lib/dyld if that load command is not available.
Do you need /usr/lib/libSystem.B.dylib with LC_LOAD_DYLIB load command? I don't think so but that's a good to have either and does not cost much.