1diff --git a/data/80-udisks2.rules b/data/80-udisks2.rules
2index ca802cce..bfd1c29e 100644
3--- a/data/80-udisks2.rules
4+++ b/data/80-udisks2.rules
5@@ -17,9 +17,9 @@ ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}=="?*", GOTO="udisks_probe_end"
6 #
7 # TODO: file bug against mdadm(8) to have --export-prefix option that can be used with e.g. UDISKS_MD_MEMBER
8 #
9-SUBSYSTEM=="block", ENV{ID_FS_USAGE}=="raid", ENV{ID_FS_TYPE}=="linux_raid_member", ENV{UDISKS_MD_MEMBER_LEVEL}=="", IMPORT{program}="/bin/sh -c '/sbin/mdadm --examine --export $tempnode | /bin/sed s/^MD_/UDISKS_MD_MEMBER_/g'"
10+SUBSYSTEM=="block", ENV{ID_FS_USAGE}=="raid", ENV{ID_FS_TYPE}=="linux_raid_member", ENV{UDISKS_MD_MEMBER_LEVEL}=="", IMPORT{program}="@sh@ -c '@mdadm@ --examine --export $tempnode | @sed@ s/^MD_/UDISKS_MD_MEMBER_/g'"
11
12-SUBSYSTEM=="block", KERNEL=="md*", ENV{DEVTYPE}!="partition", IMPORT{program}="/bin/sh -c '/sbin/mdadm --detail --export $tempnode | /bin/sed s/^MD_/UDISKS_MD_/g'"
13+SUBSYSTEM=="block", KERNEL=="md*", ENV{DEVTYPE}!="partition", IMPORT{program}="@sh@ -c '@mdadm@ --detail --export $tempnode | @sed@ s/^MD_/UDISKS_MD_/g'"
14
15 LABEL="udisks_probe_end"
16
17diff --git a/modules/zram/data/udisks2-zram-setup@.service.in b/modules/zram/data/udisks2-zram-setup@.service.in
18index ac868e84..03fdd887 100644
19--- a/modules/zram/data/udisks2-zram-setup@.service.in
20+++ b/modules/zram/data/udisks2-zram-setup@.service.in
21@@ -8,7 +8,7 @@ Requires=dev-%i.device
22 Type=oneshot
23 RemainAfterExit=no
24 EnvironmentFile=-@zramconfdir@/%i
25-ExecStart=-/bin/sh -c 'if [ -n "$ZRAM_NUM_STR" ]; then echo "$ZRAM_NUM_STR" > /sys/class/block/%i/max_comp_streams; fi'
26-ExecStart=-/bin/sh -c 'if [ -n "$ZRAM_DEV_SIZE" ]; then echo "$ZRAM_DEV_SIZE" > /sys/class/block/%i/disksize; fi'
27-ExecStart=-/bin/sh -c 'if [ "$SWAP" = "y" ]; then mkswap /dev/%i && swapon /dev/%i; fi'
28-# ExecStop=-/bin/sh -c 'echo 1 > /sys/class/block/%i/reset'
29+ExecStart=-@sh@ -c 'if [ -n "$ZRAM_NUM_STR" ]; then echo "$ZRAM_NUM_STR" > /sys/class/block/%i/max_comp_streams; fi'
30+ExecStart=-@sh@ -c 'if [ -n "$ZRAM_DEV_SIZE" ]; then echo "$ZRAM_DEV_SIZE" > /sys/class/block/%i/disksize; fi'
31+ExecStart=-@sh@ -c 'if [ "$SWAP" = "y" ]; then @mkswap@ /dev/%i && @swapon@ /dev/%i; fi'
32+# ExecStop=-@sh@ -c 'echo 1 > /sys/class/block/%i/reset'
33diff --git a/modules/zram/udiskslinuxmanagerzram.c b/modules/zram/udiskslinuxmanagerzram.c
34index f647f653..df81e910 100644
35--- a/modules/zram/udiskslinuxmanagerzram.c
36+++ b/modules/zram/udiskslinuxmanagerzram.c
37@@ -243,7 +243,7 @@ create_conf_files (guint64 num_devices,
38
39 g_snprintf (tmp, 255, "zram%" G_GUINT64_FORMAT, i);
40 filename = g_build_filename (PACKAGE_ZRAMCONF_DIR, tmp, NULL);
41- contents = g_strdup_printf ("#!/bin/bash\n"
42+ contents = g_strdup_printf ("#!@bash@\n"
43 "# UDisks2 managed ZRAM configuration\n\n"
44 "ZRAM_NUM_STR=%" G_GUINT64_FORMAT "\n"
45 "ZRAM_DEV_SIZE=%" G_GUINT64_FORMAT "\n"
46diff --git a/src/tests/install-udisks/runtest.sh b/src/tests/install-udisks/runtest.sh
47index e7df4ed2..ab4356d9 100644
48--- a/src/tests/install-udisks/runtest.sh
49+++ b/src/tests/install-udisks/runtest.sh
50@@ -1,4 +1,4 @@
51-#!/bin/bash
52+#!@bash@
53 # vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
54 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
55 #
56diff --git a/src/tests/integration-test b/src/tests/integration-test
57index 07e4e029..3bd8ec51 100755
58--- a/src/tests/integration-test
59+++ b/src/tests/integration-test
60@@ -299,7 +299,7 @@ class UDisksTestCase(unittest.TestCase):
61 if not device:
62 device = cls.devname(partition)
63 result = {}
64- cmd = subprocess.Popen(['blkid', '-p', '-o', 'udev', device], stdout=subprocess.PIPE)
65+ cmd = subprocess.Popen(['@blkid@', '-p', '-o', 'udev', device], stdout=subprocess.PIPE)
66 for l in cmd.stdout:
67 (key, value) = l.decode('UTF-8').split('=', 1)
68 result[key] = value.strip()
69@@ -437,7 +437,7 @@ class UDisksTestCase(unittest.TestCase):
70 f.write('KERNEL=="sr*", ENV{DISK_EJECT_REQUEST}!="?*", '
71 'ATTRS{model}=="scsi_debug*", '
72 'ENV{ID_CDROM_MEDIA}=="?*", '
73- 'IMPORT{program}="/sbin/blkid -o udev -p -u noraid $tempnode"\n')
74+ 'IMPORT{program}="@blkid@ -o udev -p -u noraid $tempnode"\n')
75 # reload udev
76 subprocess.call('sync; pkill --signal HUP udevd || '
77 'pkill --signal HUP systemd-udevd',
78@@ -1142,7 +1142,7 @@ class FS(UDisksTestCase):
79 self.assertFalse(os.access(f, os.X_OK))
80
81 f = os.path.join(mount_point, 'simple.exe')
82- shutil.copy('/bin/bash', f)
83+ shutil.copy('@bash@', f)
84 self.assertTrue(os.access(f, os.R_OK))
85 self.assertTrue(os.access(f, os.W_OK))
86 self.assertTrue(os.access(f, os.X_OK))
87@@ -1155,7 +1155,7 @@ class FS(UDisksTestCase):
88 self.assertFalse(os.access(f, os.X_OK))
89
90 f = os.path.join(mount_point, 'subdir', 'subdir.exe')
91- shutil.copy('/bin/bash', f)
92+ shutil.copy('@bash@', f)
93 self.assertTrue(os.access(f, os.R_OK))
94 self.assertTrue(os.access(f, os.W_OK))
95 self.assertTrue(os.access(f, os.X_OK))
96diff --git a/src/tests/storadectl/runtest.sh b/src/tests/storadectl/runtest.sh
97index f03885f9..baca6a93 100644
98--- a/src/tests/storadectl/runtest.sh
99+++ b/src/tests/storadectl/runtest.sh
100@@ -1,4 +1,4 @@
101-#!/bin/bash
102+#!@bash@
103 # vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
104 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
105 #
106diff --git a/src/tests/test.c b/src/tests/test.c
107index 3ddbdf2c..a87f960a 100644
108--- a/src/tests/test.c
109+++ b/src/tests/test.c
110@@ -71,7 +71,7 @@ test_spawned_job_successful (void)
111 {
112 UDisksSpawnedJob *job;
113
114- job = udisks_spawned_job_new ("/bin/true", NULL, getuid (), geteuid (), NULL, NULL);
115+ job = udisks_spawned_job_new ("@true@", NULL, getuid (), geteuid (), NULL, NULL);
116 udisks_spawned_job_start (job);
117 _g_assert_signal_received (job, "completed", G_CALLBACK (on_completed_expect_success), NULL);
118 g_object_unref (job);
119@@ -84,10 +84,10 @@ test_spawned_job_failure (void)
120 {
121 UDisksSpawnedJob *job;
122
123- job = udisks_spawned_job_new ("/bin/false", NULL, getuid (), geteuid (), NULL, NULL);
124+ job = udisks_spawned_job_new ("@false@", NULL, getuid (), geteuid (), NULL, NULL);
125 udisks_spawned_job_start (job);
126 _g_assert_signal_received (job, "completed", G_CALLBACK (on_completed_expect_failure),
127- (gpointer) "Command-line `/bin/false' exited with non-zero exit status 1: ");
128+ (gpointer) "Command-line `@false@' exited with non-zero exit status 1: ");
129 g_object_unref (job);
130 }
131
132@@ -119,7 +119,7 @@ test_spawned_job_cancelled_at_start (void)
133
134 cancellable = g_cancellable_new ();
135 g_cancellable_cancel (cancellable);
136- job = udisks_spawned_job_new ("/bin/true", NULL, getuid (), geteuid (), NULL, cancellable);
137+ job = udisks_spawned_job_new ("@true@", NULL, getuid (), geteuid (), NULL, cancellable);
138 udisks_spawned_job_start (job);
139 _g_assert_signal_received (job, "completed", G_CALLBACK (on_completed_expect_failure),
140 (gpointer) "Operation was cancelled (g-io-error-quark, 19)");
141@@ -144,7 +144,7 @@ test_spawned_job_cancelled_midway (void)
142 GCancellable *cancellable;
143
144 cancellable = g_cancellable_new ();
145- job = udisks_spawned_job_new ("/bin/sleep 0.5", NULL, getuid (), geteuid (), NULL, cancellable);
146+ job = udisks_spawned_job_new ("@sleep@ 0.5", NULL, getuid (), geteuid (), NULL, cancellable);
147 udisks_spawned_job_start (job);
148 g_timeout_add (10, on_timeout, cancellable); /* 10 msec */
149 _g_assert_signal_received (job, "completed", G_CALLBACK (on_completed_expect_failure),
150@@ -197,7 +197,7 @@ test_spawned_job_premature_termination (void)
151 {
152 UDisksSpawnedJob *job;
153
154- job = udisks_spawned_job_new ("/bin/sleep 1000", NULL, getuid (), geteuid (), NULL, NULL /* GCancellable */);
155+ job = udisks_spawned_job_new ("@sleep@ 1000", NULL, getuid (), geteuid (), NULL, NULL /* GCancellable */);
156 udisks_spawned_job_start (job);
157 g_object_unref (job);
158 }