#!/bin/bash
programs=(ldd mkdir cd cp grep echo chmod awk xargs)

for prog in "${programs[@]}"; do
	command -v "$prog" >/dev/null 2>&1 || { echo >&2 "This script requires $prog but it's not installed.  Aborting."; exit 1;}
done

if [ $# -ne 2 ]; then
	echo "Usage: $0 BINARY DESTINATION"
else
	BINARY=$(realpath  "$1")
	DESTINATION=$(realpath  "$2")
	SCRIPTFILENAME="$DESTINATION/start_$(basename "$BINARY").sh"

read -r -d '' SCRIPTFILE << EOM
LD_LIBRARY_PATH=./libs ./$(basename "$BINARY")
EOM
	
	mkdir -p "$DESTINATION" && mkdir -p "$DESTINATION"/libs && cd "$DESTINATION" && cp "$BINARY" "$DESTINATION"
	ldd "$BINARY" | grep "=> /" | awk '{print $3}' | xargs -I '{}' cp -v '{}' "$DESTINATION"/libs &&
	echo "$SCRIPTFILE" > "$SCRIPTFILENAME" && chmod +x "$SCRIPTFILENAME"
fi