I noticed that installing 'strace' didn't trigger the libc6 install, so here's a working strace (prior to libc6 upgrade):
execve("/usr/local/bin/test_executable.sh", ["test_executable.sh"], 0x7ffc0826c210 /* 5 vars */) = 0 brk(NULL) = 0x55706ff12000 arch_prctl(0x3001 /* ARCH_??? */, 0x7ffc0ef02530) = -1 EINVAL (Invalid argument) access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=8702, ...}) = 0 mmap(NULL, 8702, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f6ac64bb000 close(3) = 0 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\360q\2\0\0\0\0\0"..., 832) = 832 pread64(3, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 784, 64) = 784 pread64(3, "\4\0\0\0\20\0\0\0\5\0\0\0GNU\0\2\0\0\300\4\0\0\0\3\0\0\0\0\0\0\0", 32, 848) = 32 pread64(3, "\4\0\0\0\24\0\0\0\3\0\0\0GNU\0cBR\340\305\370\2609W\242\345)q\235A\1"..., 68, 880) = 68 fstat(3, {st_mode=S_IFREG|0755, st_size=2029224, ...}) = 0 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f6ac64b9000 pread64(3, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 784, 64) = 784 pread64(3, "\4\0\0\0\20\0\0\0\5\0\0\0GNU\0\2\0\0\300\4\0\0\0\3\0\0\0\0\0\0\0", 32, 848) = 32 pread64(3, "\4\0\0\0\24\0\0\0\3\0\0\0GNU\0cBR\340\305\370\2609W\242\345)q\235A\1"..., 68, 880) = 68 mmap(NULL, 2036952, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f6ac62c7000 mprotect(0x7f6ac62ec000, 1847296, PROT_NONE) = 0 mmap(0x7f6ac62ec000, 1540096, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x25000) = 0x7f6ac62ec000 mmap(0x7f6ac6464000, 303104, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x19d000) = 0x7f6ac6464000 mmap(0x7f6ac64af000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1e7000) = 0x7f6ac64af000 mmap(0x7f6ac64b5000, 13528, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f6ac64b5000 close(3) = 0 arch_prctl(ARCH_SET_FS, 0x7f6ac64ba580) = 0 mprotect(0x7f6ac64af000, 12288, PROT_READ) = 0 mprotect(0x55706e763000, 8192, PROT_READ) = 0 mprotect(0x7f6ac64eb000, 4096, PROT_READ) = 0 munmap(0x7f6ac64bb000, 8702) = 0 getuid() = 0 getgid() = 0 getpid() = 8 rt_sigaction(SIGCHLD, {sa_handler=0x55706e758c30, sa_mask=~[RTMIN RT_1], sa_flags=SA_RESTORER, sa_restorer=0x7f6ac630d210}, NULL, 8) = 0 geteuid() = 0 brk(NULL) = 0x55706ff12000 brk(0x55706ff33000) = 0x55706ff33000 getppid() = 1 getcwd("/workdir", 4096) = 9 openat(AT_FDCWD, "/usr/local/bin/test_executable.sh", O_RDONLY) = 3 fcntl(3, F_DUPFD, 10) = 10 close(3) = 0 fcntl(10, F_SETFD, FD_CLOEXEC) = 0 geteuid() = 0 getegid() = 0 rt_sigaction(SIGINT, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 rt_sigaction(SIGINT, {sa_handler=0x55706e758c30, sa_mask=~[RTMIN RT_1], sa_flags=SA_RESTORER, sa_restorer=0x7f6ac630d210}, NULL, 8) = 0 rt_sigaction(SIGQUIT, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 rt_sigaction(SIGQUIT, {sa_handler=SIG_DFL, sa_mask=~[RTMIN RT_1], sa_flags=SA_RESTORER, sa_restorer=0x7f6ac630d210}, NULL, 8) = 0 rt_sigaction(SIGTERM, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 rt_sigaction(SIGTERM, {sa_handler=SIG_DFL, sa_mask=~[RTMIN RT_1], sa_flags=SA_RESTORER, sa_restorer=0x7f6ac630d210}, NULL, 8) = 0 --- SIGWINCH {si_signo=SIGWINCH, si_code=SI_KERNEL} --- read(10, "#!/bin/sh\nif test -x /usr/bin/he"..., 8192) = 103 faccessat(AT_FDCWD, "/usr/bin/head", X_OK) = 0 write(1, "/usr/bin/head is executable\n", 28/usr/bin/head is executable ) = 28 read(10, "", 8192) = 0 exit_group(0) = ? +++ exited with 0 +++