diff -up pam_pkcs11-0.6.2/src/pam_pkcs11/pam_config.c.fix-arg-parsing pam_pkcs11-0.6.2/src/pam_pkcs11/pam_config.c
--- pam_pkcs11-0.6.2/src/pam_pkcs11/pam_config.c.fix-arg-parsing	2010-08-06 15:53:03.287817290 -0400
+++ pam_pkcs11-0.6.2/src/pam_pkcs11/pam_config.c	2010-08-06 15:53:08.848786139 -0400
@@ -229,7 +229,7 @@ struct configuration_st *pk_configure( i
 	int i;
 	int res;
 	/* try to find a configuration file entry */
-	for (i = 1; i < argc; i++) {
+	for (i = 0; i < argc; i++) {
 	    if (strstr(argv[i],"config_file=") ) {
 		configuration.config_file=1+strchr(argv[i],'=');
 		break;
@@ -241,7 +241,7 @@ struct configuration_st *pk_configure( i
 	/* display_config(); */
 	/* finally parse provided arguments */
 	/* dont skip argv[0] */
-	for (i = 1; i < argc; i++) {
+	for (i = 0; i < argc; i++) {
 	   if (strcmp("nullok", argv[i]) == 0) {
 		configuration.nullok = 1;
 		continue;
diff -up pam_pkcs11-0.6.2/src/tools/pkcs11_inspect.c.fix-arg-parsing pam_pkcs11-0.6.2/src/tools/pkcs11_inspect.c
--- pam_pkcs11-0.6.2/src/tools/pkcs11_inspect.c.fix-arg-parsing	2010-08-06 15:52:43.322815841 -0400
+++ pam_pkcs11-0.6.2/src/tools/pkcs11_inspect.c	2010-08-06 15:52:55.624817024 -0400
@@ -47,7 +47,7 @@ int main(int argc, const char **argv) {
     }
 
   /* call configure routines */
-  configuration = pk_configure(argc,argv);
+  configuration = pk_configure(argc - 1, argv + 1);
   if (!configuration ) {
 	ERR("Error setting configuration parameters");
 	return 1;

