#!/usr/bin/env bash mydir="$(readlink -f "$(dirname "${0}")")" mylib="${mydir}/../lib/websockify/rebind.so" [ -e "${mylib}" ] || { echo "${mylib} not found" >&2; exit 1; } usage() { echo "Usage: $(basename $0) OLD_PORT NEW_PORT COMMAND_LINE" echo echo "Launch COMMAND_LINE, but intercept system calls to bind" echo "to OLD_PORT and instead bind them to localhost:NEW_PORT" exit 2 } # Parameter defaults export REBIND_PORT_OLD="${1}" export REBIND_PORT_NEW="${2}" shift 2 LD_PRELOAD="${mylib}" exec "${@}"