diff --git a/configure.ac b/configure.ac
index b9ecbe11..ed6419a4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1397,6 +1397,32 @@ esac
AM_CONDITIONAL(HAVE_SYSTEMD, test "x$with_systemdsystemunitdir" != "x")
AC_SUBST(systemdsystemunitdir, [$with_systemdsystemunitdir])
+#-----------------------------------------------------------------------------
+# System utilities
+#-----------------------------------------------------------------------------
+
+AC_ARG_WITH([kmod-dir],
+ AS_HELP_STRING([--with-kmod-dir=
],
+ [Path to kernel module utilities [default=/sbin]]),
+ [kmoddir=[$withval]],
+ [kmoddir="/sbin"]
+)
+
+AC_MSG_CHECKING([for path to kernel modules])
+AC_MSG_RESULT([$kmoddir])
+AC_SUBST(kmoddir, [$kmoddir])
+
+AC_ARG_WITH([ip-cmd],
+ AS_HELP_STRING([--with-ip-cmd=],
+ ['ip' command to use [default=/bin/ip]]),
+ [ipcmd=[$withval]],
+ [ipcmd="/bin/ip"]
+)
+
+AC_MSG_CHECKING([for ip command])
+AC_MSG_RESULT([$ipcmd])
+AC_SUBST(ipcmd, [$ipcmd])
+
#-----------------------------------------------------------------------------
AC_CONFIG_FILES([
diff --git a/script/Makefile.am b/script/Makefile.am
index cf9e5046..9892aef2 100644
--- a/script/Makefile.am
+++ b/script/Makefile.am
@@ -68,6 +68,8 @@ endif
# Any precious variable used inside script_templates should appear here
expand_script = $(SED) \
-e 's,[@]VERSION[@],$(VERSION),g' \
+ -e 's,[@]ipcmd[@],$(ipcmd),g' \
+ -e 's,[@]kmoddir[@],$(kmoddir),g' \
-e 's,[@]bindir[@],$(bindir),g' \
-e 's,[@]sbindir[@],$(sbindir),g' \
-e 's,[@]sysconfdir[@],$(sysconfdir),g'
diff --git a/script/ethercatctl.in b/script/ethercatctl.in
index 03083459..2701ab1a 100755
--- a/script/ethercatctl.in
+++ b/script/ethercatctl.in
@@ -25,13 +25,13 @@
#
#------------------------------------------------------------------------------
-LSMOD=/sbin/lsmod
-MODPROBE=/sbin/modprobe
-RMMOD=/sbin/rmmod
-MODINFO=/sbin/modinfo
-IP=/bin/ip
+LSMOD="@kmoddir@/lsmod"
+MODPROBE="@kmoddir@/modprobe"
+RMMOD="@kmoddir@/rmmod"
+MODINFO="@kmoddir@/modinfo"
+IP="@ipcmd@"
-ETHERCAT=@bindir@/ethercat
+ETHERCAT="@bindir@/ethercat"
#------------------------------------------------------------------------------
@@ -39,7 +39,7 @@ if [ "$1" = "-c" ]; then
ETHERCAT_CONFIG="$2"
COMMAND="$3"
else
- ETHERCAT_CONFIG=@sysconfdir@/ethercat.conf
+ ETHERCAT_CONFIG="@sysconfdir@/ethercat.conf"
COMMAND="$1"
fi