+do_wrap()
+{
+ local base binary dir
+
+ base=$1
+ binary=$2
+ shift 2
+
+ for dir in etc dev sys proc var
+ do
+ [ -e "$base/$dir" ] || mkdir -p "$base/$dir"
+ done
+
+ cp /etc/resolv.conf $base/etc
+ mount -o bind /dev $base/dev
+ mount -o bind /sys $base/sys
+ mount -o bind /proc $base/proc
+ mount -o bind /var $base/var
+
+ chroot "$base" "$binary" "$@"
+
+ umount $base/dev
+ umount $base/sys
+ umount $base/proc
+ umount $base/var
+}
+
+__create_wrapper()
+{
+ local base binary wrapper
+
+ base=$1
+ binary=$2
+ wrapper=$plugin_wrapper_dir/$(basename $binary)
+
+ cat <<EOF > $wrapper
+#!/bin/sh
+
+exec $(realpath $0) __wrap '$base' '$binary' "\$@"
+EOF
+
+ chmod a+x $wrapper
+}
+