$ cat <<EOF > my-cgit-filter.c #include <unistd.h> int main(void) { execl("/bin/lowdown", "lowdown", NULL); return 1; } EOF $ cc my-cgit-filter.c -o my-cgit-filter.c -static
Instead of downloading, recompiling, and installing lowdown; then building and installing a program that execs the downloaded lowdown; why don't you cut out the first step and call through to the C API installed with the lowdown port? There's a full example in the EXAMPLES section of lowdown_file(3).