POSIXly, siempre puede definir una función como:
prog_f() (
for i do
set -- "$@" -f "$i"
shift
done
exec prog "$@"
)
openbsd
имеет четкую концепцию управления памятью с точки зрения безопасности. Следовательно, статически связанные библиотеки не могут быть предварительно загружены.
Код гласит:
shlib = _dl_load_shlib(cp, _dl_objects, OBJTYPE_LIB,
_dl_objects->obj_flags);
if (shlib == NULL) {
_dl_printf("%s: can't preload library '%s'\n",
__progname, cp);
_dl_exit(4);
}
Соответственно, значение shlib
не должно проверяться как NULL
.
Попробуйте вместо этого загрузить динамически подключаемую библиотеку, это должно работать.