
This book covers how to program UNIX clearly and systematically at the system call level while providing the seasoned programmer with practical advice for using I/O on files and terminals, multitasking, signals and system administration.
In the book it starts literally with a one-shot shell - exec - and moves onto fancier ones, including piping etc.
First version of source accompanying the book is at https://github.com/gmarler/AUPv2/blob/master/c5/sh0.c and does multiple commands.
Tip: Many of these old books can be had for cheap as used copies on Amazon/Betterworldbooks etc.
I have the Advanced Unix Programming book. From looking at the copyright, it first started from 1985. It talks about programming on io/file/process/ipc/signal/device/terminal/security/permission/etc. It's still relevant today.
You've already got half the solution... "Advanced UNIX Programming" was the goto since it was written, and it has a tonne of industry knowledge e.g fork twice and close handles etc.
"The Linux Programming Interface" is kind of that book for the 21st century, and covers pretty much any topic you'll ever encounter on the systems end.
> Half of the stuff they wrote I didn't understand
Sounds like you bought the books but never read them... because it's all in there.
* Low-level languages, compiler runtimes, toolchains and libraries.
* OS system call apis.
* Concurrency.
* Networking.
You need books/papers which will teach and walk you through sample idioms and applications in the above domains. A prerequisite is fluency in the C language. With that in mind the following are recommended (some are old books which you can buy used and cheap wherever possible);* Computer Systems: A Programmer's Perspective by Bryant and O'Hallaron.
* The C Companion by Allen Holub. A gem of an oldie.
* ELF: From the Programmer's Perspective; a paper by Hongjiu Lu.
* UNIX Network Programming by Richard Stevens. Initially, get the old 1st edition since it contains TCP/IP, IPC etc. all in one volume.
* Advanced UNIX Programming by Marc Rochkind.
* Advanced programming in the UNIX Environment by Richard Stevens.
* UNIX Systems Programming by Robbins and Robbins.
* Programming for the Real World, POSIX.4 by Bill Gallmeister.
I can particularly recommend Advanced UNIX Programming (2nd Edition) even though it is a little old.