What you are describing is just a statically linked binary, the world of computing moved away from this well before I started my career but there are pros and cons about it, not only related to disk space.
The world of computing may well be moving back towards this strategy currently. The rise of single-static-binary runtimes (Go, Rust, new Java) and container runtimes (ad hoc, informally-specified static linking for sets of programs) seems to indicate that static linking is far from being consigned to the conceptual rubbish heap.
what are the pros of dynamically linked binaries, not related to disk and memory usage?
when a security vulnerability is found, you can fix the relevant library without recompiling all the binaries that are linked to it.