<p>Is there any way to catch all syscalls on Linux? The only solution I know of is using LD_PRELOAD à la <a href="http://packages.qa.debian.org/f/fakeroot.html" rel="nofollow noreferrer">fakeroot</a>, but that only works for dynamically linked applications. Furthermore, this approach requires enumerating all syscalls which is something I'd like to avoid.</p>

You can trace a program. Think about how
```
strace
```
works. Hint: it doesn't use
```
LD_PRELOAD
```
tricks.