This patch from debian adds possibility to specify sendmail program.

diff -Naru arpwatch-2.1a15.orig/arpsnmp.8 arpwatch-2.1a15/arpsnmp.8
--- arpwatch-2.1a15.orig/arpsnmp.8	2006-09-22 19:26:53.000000000 +0400
+++ arpwatch-2.1a15/arpsnmp.8	2006-09-22 19:31:59.000000000 +0400
@@ -36,6 +36,12 @@
 ]
 .br
 .ti +8
+[
+.B -s
+.I sendmail_path
+]
+.br
+.ti +8
 .I file
 [
 .I ...
@@ -60,6 +66,13 @@
 The default is
 .IR arp.dat .
 .LP
+The
+.B -s
+flag is used to specify the path to the sendmail program. Any program that
+takes the option -odi and then text from stdin can be substituted. This is
+useful for redirecting reports to log files instead of mail. (This feature
+comes from Debian).
+.LP
 Note that an empty
 .I arp.dat
 file must be created before the first time you run
diff -Naru arpwatch-2.1a15.orig/arpsnmp.c arpwatch-2.1a15/arpsnmp.c
--- arpwatch-2.1a15.orig/arpsnmp.c	2006-09-22 19:26:53.000000000 +0400
+++ arpwatch-2.1a15/arpsnmp.c	2006-09-22 19:26:23.000000000 +0400
@@ -67,6 +67,7 @@
 __dead	void usage(void) __attribute__((volatile));
 
 char *prog;
+char *path_sendmail = PATH_SENDMAIL;
 
 extern int optind;
 extern int opterr;
@@ -81,6 +82,7 @@
 	char options[] =
 		"d"
 		"f:"
+		"s:"
 	;
 
 	if ((cp = strrchr(argv[0], '/')) != NULL)
@@ -109,6 +111,10 @@
 			arpfile = optarg;
 			break;
 
+		case 's':
+			path_sendmail = optarg;
+			break;
+
 		default:
 			usage();
 		}
@@ -189,6 +195,7 @@
 	char usage[] =
 		"[-d] "
 		"[-f datafile] "
+		"[-s sendmail_path] "
 		"file [...]\n"
 	;
 
diff -Naru arpwatch-2.1a15.orig/arpwatch.8 arpwatch-2.1a15/arpwatch.8
--- arpwatch-2.1a15.orig/arpwatch.8	2006-09-22 19:26:53.000000000 +0400
+++ arpwatch-2.1a15/arpwatch.8	2006-09-22 19:28:02.000000000 +0400
@@ -53,6 +53,12 @@
 .B -r
 .I file
 ]
+.br
+.ti +8
+[
+.B -s
+.I sendmail_path
+]
 .ad
 .SH DESCRIPTION
 .B Arpwatch
@@ -103,6 +109,13 @@
 .B arpwatch
 does not fork.
 .LP
+The
+.B -s
+flag is used to specify the path to the sendmail program. Any program that
+takes the option -odi and then text from stdin can be substituted. This is
+useful for redirecting reports to log files instead of mail. (This feature
+comes from Debian).
+.LP
 Note that an empty
 .I arp.dat
 file must be created before the first time you run
diff -Naru arpwatch-2.1a15.orig/arpwatch.c arpwatch-2.1a15/arpwatch.c
--- arpwatch-2.1a15.orig/arpwatch.c	2006-09-22 19:26:53.000000000 +0400
+++ arpwatch-2.1a15/arpwatch.c	2006-09-22 19:26:23.000000000 +0400
@@ -106,6 +106,7 @@
 #endif
 
 char *prog;
+char *path_sendmail = PATH_SENDMAIL;
 
 int can_checkpoint;
 int swapped;
@@ -160,6 +161,7 @@
 		"n:"
 		"N"
 		"r:"
+		"s:"
 	;
 
 	if (argv[0] == NULL)
@@ -209,6 +211,11 @@
 		case 'r':
 			rfilename = optarg;
 			break;
+
+		case 's':
+			path_sendmail = optarg;
+			break;
+
 		default:
 			usage();
 		}
@@ -761,6 +768,7 @@
 		"[-i interface] "
 		"[-n net[/width]] "
 		"[-r file] "
+		"[-s sendmail_path] "
 		"\n"
 	;
 
diff -Naru arpwatch-2.1a15.orig/report.c arpwatch-2.1a15/report.c
--- arpwatch-2.1a15.orig/report.c	2000-10-01 03:41:10.000000000 +0400
+++ arpwatch-2.1a15/report.c	2006-09-22 19:26:23.000000000 +0400
@@ -235,6 +235,7 @@
 report(register char *title, register u_int32_t a, register u_char *e1,
     register u_char *e2, register time_t *t1p, register time_t *t2p)
 {
+	extern char *path_sendmail;
 	register char *cp, *hn;
 	register int fd, pid;
 	register FILE *f;
@@ -242,7 +243,7 @@
 	char *fmt = "%20s: %s\n";
 	char *watcher = WATCHER;
 	char *watchee = WATCHEE;
-	char *sendmail = PATH_SENDMAIL;
+	char *sendmail = path_sendmail;
 	char *unknown = "<unknown>";
 	char buf[132];
 	static int init = 0;