Here's nu, a shell in Rust:
$ ldd ~/.cargo/bin/nu linux-vdso.so.1 (0x00007f473ba46000) libssl.so.3 => /lib/x86_64-linux-gnu/libssl.so.3 (0x00007f47398f2000) libcrypto.so.3 => /lib/x86_64-linux-gnu/libcrypto.so.3 (0x00007f4739200000) libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f473b9cd000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f4739110000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f4738f1a000) /lib64/ld-linux-x86-64.so.2 (0x00007f473ba48000) libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f473b9ab000) libzstd.so.1 => /lib/x86_64-linux-gnu/libzstd.so.1 (0x00007f4738e50000)
$ ldd /bin/sh linux-vdso.so.1 (0x00007f88ae6b0000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f88ae44b000) /lib64/ld-linux-x86-64.so.2 (0x00007f88ae6b2000)
The problem of increased RAM requirements and constant rebuilds are still very real, if only slightly less big because of dynamically linking C.
Your second paragraph is either a meaningless observation on the difference between static and dynamic linking or also incorrect. Not sure what your intent was.
Here's nu, a shell in Rust:
And here's the Debian variant of ash, a shell in C: